package com.encryption.logic;

import com.encryption.model.File;
import com.encryption.model.User;

 

/**
 * 文件动作权限接口
 * @author 
 *
 */
public interface ActionPermission {
	
	/**
	 * 判断用户是否有权限对该文件操作
	 * @param user
	 * @param file
	 * @return
	 */
	public boolean hasPermission(User user,File file);
	
	/**
	 * 动作类型
	 * @return
	 */
	public String getActionType();
	
	/**
	 * 判断是否有删除权限
	 * 只有上传者才能够删除
	 */
	public boolean hasDeleteFilePermission(User user,File file);
	
	/**
	 * 判断是否有下载权限
	 * @return
	 */
	public boolean hasDownloadFilePermission(User user,File file);
	
	/**
	 * 判断是否有查看权限
	 * @return
	 */
	public boolean hasViewFilePermission(User user,File file);
	
	/**
	 * 判断是否有打印权限
	 * @return
	 */
	public boolean hasPrintFilePermission(User user,File file);
	
	
	
	 		 
}
